package com.itheima.pratice.homeweek;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;

public class HomeWeek02 {
    /*现在有两个 ArrayList 集合存储队伍当中的多个成员姓名，要求使用Stream方式进行以下若干操作步骤：
    1. 第一个队伍只要名字为3个字的成员姓名；
    2. 第一个队伍筛选之后只要前6个人；
    3. 第二个队伍只要姓张的成员姓名；
    4. 第二个队伍筛选之后不要前1个人；
    5. 将两个队伍合并为一个队伍；
    6. 根据姓名创建Student对象；
    7. 打印整个队伍的Student对象信息。*/
    public static void main(String[] args) {
        ArrayList<String> arrayList1 = new ArrayList<>(List.of("龙门", "言溯", "周润发", "刘德华", "周星驰", "李连杰","四十六","撒旦","阿斯蒂芬"));
        ArrayList<String> arrayList2 = new ArrayList<>(List.of("林心如", "张曼玉", "张漫天", "张青霞", "林志玲", "王祖贤"));
        //第一个队伍只要名字为3个字的成员姓名,第一个队伍筛选之后只要前6个人
        Stream<String> stream1 = arrayList1.stream().filter(name -> name.length() == 3).limit(6);
        //第二个队伍只要姓张的成员姓名,第二个队伍筛选之后不要前1个人
        Stream<String> stream2 = arrayList2.stream().filter(name -> name.startsWith("张")).skip(1);
        //将两个队伍合并为一个队伍
        Stream<String> stream = Stream.concat(stream1, stream2);
        //根据姓名创建Student对象，打印整个队伍的Student对象信息
        stream.map(name->new Student(name)).forEach(student -> System.out.println(student));
    }
}
